package main 
{
	import flash.utils.Dictionary;
	/**
	 * ...
	 * @author clouree
	 */
	public class SuperBase 
	{
		protected var _registerComponents:Dictionary;
		public function SuperBase() 
		{
			_registerComponents = new Dictionary();
		}
		
		protected function registerComponents(typeClass:Class):*
		{
			
			if (_registerComponents[typeClass] == null) {
				_registerComponents[typeClass] = new typeClass;
				(_registerComponents[typeClass] as SuperSubBase).initComponents(this);
			}
			return _registerComponents[typeClass];
		}
		
		
		public function destroyObject(module:Class) : void
		{
			delete _registerComponents[module];
		}
		
	}

}